﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Garlic.DM.DataModel;
using Garlic.CC.BaseClass;

namespace Garlic
{
    public partial class Frame_Navigation : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //string name= Session["name"].ToString();
                if (!string.IsNullOrEmpty(Request["parentMenuID"]))
                {
                    // ObjectDataSource1.SelectParameters["parentMenuID"].DefaultValue = WebMenuHelper.GetCurrentFirstMenuID().ToString();
                    this.Repeater1.DataSource = Garlic.BLL.MenuManager.GetSubMenus(int.Parse(Request["parentMenuID"].ToString()));
                    this.Repeater1.DataBind();
                    Session["nav_menu_id"] = Request["parentMenuID"];
                }
                else
                {
                    //设置默认
                    List<MenuInfo> menuInfo = BLL.MenuManager.GetTopMenus(CurrentUser);
                    foreach (MenuInfo item in menuInfo)
                    {
                        if (Session["nav_menu_id"] != null)
                        {
                            if (Session["nav_menu_id"].ToString() == item.Menu_id.ToString())
                            {
                                labMainMenuName.Text = item.Menu_name;
                                this.Repeater1.DataSource = Garlic.BLL.MenuManager.GetSubMenus(item.Menu_id);
                                this.Repeater1.DataBind();
                                break;
                            }
                        }
                        else
                        {
                            labMainMenuName.Text = item.Menu_name;
                            this.Repeater1.DataSource = Garlic.BLL.MenuManager.GetSubMenus(item.Menu_id);
                            this.Repeater1.DataBind();
                            break;
                        }
                    }
                }
                //标题头.
                if (!string.IsNullOrEmpty(Request["parentMenuName"]))
                {
                    labMainMenuName.Text = Request["parentMenuName"].ToString();
                }
            }
        }

        //用于判断SL中显示哪个页面。
        public string GetMenuID()
        {
            if (Session["nav_menu_id"] != null)
            {
                return Session["nav_menu_id"].ToString();
            }
            else
            { return null; }
        }

        //protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        //{
        //    //if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        //    //{
        //    //    HyperLink hlMenu = e.Item.FindControl("hlMenu") as HyperLink;

        //    //    MenuInfo menu = e.Item.DataItem as MenuInfo;
        //    //    if (hlMenu == null) return;
        //    //    if (menu == null) return;

        //    //    hlMenu.Text = menu.Menu_name;

        //    //    hlMenu.NavigateUrl = menu.Link_url;

        //    //    if (hlMenu.NavigateUrl.ToLower().IndexOf("http://") < 0)
        //    //    {
        //    //        //相对地址
        //    //        hlMenu.NavigateUrl = "../" + menu.Link_url;
        //    //    }

        //    //    if (hlMenu.NavigateUrl.ToLower().IndexOf("http://") == 0)
        //    //    {
        //    //        string timeTicks = DateTime.Now.Ticks.ToString();
        //    //        if (hlMenu.NavigateUrl.IndexOf("?") > 0)
        //    //        {
        //    //            // hlMenu.NavigateUrl += "&AuthCode=" + CryptTools.Encrypt(timeTicks, CryptConstants.PassKey);
        //    //        }
        //    //        else
        //    //        {
        //    //            // hlMenu.NavigateUrl += "?AuthCode=" + CryptTools.Encrypt(timeTicks, CryptConstants.PassKey);
        //    //        }
        //    //    }
        //    //}
        //}

        /// <summary>
        /// 获取最后一次点击的菜单。
        /// </summary>
        /// <returns></returns>
        public string GetCurrentMenuIndex()
        {
            string pageName = string.Empty;
            if (Session["mainPage"] != null)
            {
                int startIndex = Session["mainPage"].ToString().LastIndexOf('/');
                pageName = Session["mainPage"].ToString().Substring(startIndex + 1, Session["mainPage"].ToString().Length - startIndex - 1);
            }

            return pageName;
        }

        public string GetUserID()
        {
            return CurrentUser.UserID.ToString();
        }

        ///// <summary>
        ///// 
        ///// </summary>
        ///// <returns></returns>
        //public string[] GetCurrentAllMenus()
        //{
        //    int flg = 0;
        //    List<MenuInfo> menuInfo = BLL.MenuManager.GetTopMenus(CurrentUser);
        //    string[] allMenus = new string[menuInfo.Count];

        //    foreach (MenuInfo item in menuInfo)
        //    {
        //        allMenus[flg] = item.Menu_id.ToString();
        //        flg++;
        //    }
        //    return allMenus;
        //}
    }//end class
}